1. Field of the Invention
This invention relates to networking technology, and more particularly to apparatus and methods for distributing the I/O workload in a data replication system.
2. Background of the Invention
HyperSwap® is a feature of IBM's Geographically Dispersed Parallel Sysplex (“GDPS”) technology that is used in Peer to Peer Remote Copy (“PPRC”) environments. By design, HyperSwap® enhances the resilience of Parallel Sysplex by facilitating the immediate switching of PPRC storage systems. The current implementation of HyperSwap® directs all I/O requests to a single storage system.
For example, FIG. 1 shows one embodiment of a synchronous Peer-to-Peer Remote Copy (“PPRC”) system 100 (also known as a “Metro Mirror” system 100) where the HyperSwap® feature may be implemented. In such a configuration, a host system 106 sends all I/O requests 108 to a primary storage device 104a. The I/O requests 108 may be executed on the primary storage device 104a (by reading or writing data on primary volumes 102a). The primary storage device 104a may mirror write requests 110 to a secondary storage device 104b. The secondary storage device 104b may execute the write request 110 (by writing the data to secondary volumes 102b) and return a write acknowledge signal 112 to the primary storage device 104a when the write completes.
Once a write has been performed on both the primary and secondary storage devices 104a, 104b, the primary storage device 104a may return a write acknowledge signal 114 to the host system 106. Thus, in this “synchronous” configuration, the host system 106 waits for the write to be performed on both the primary and secondary storage devices 104a, 104b before it receives an acknowledge signal 114. An I/O is considered complete when the I/O has successfully completed to both the primary and secondary storage devices 104a. 
In the event the host system 106 is unable to communicate with the primary storage device 104a, the host system 106 may invoke the HyperSwap® feature to cause the host system 106 to directly communicate with the secondary storage device 104b. In essence, this will cause the secondary storage device 104b to become the new primary storage device and the primary storage device 104a to become the new secondary storage device. This process of switching the primary and secondary storage devices 104a, 104b may also be referred to as a “failover.”
Regardless of whether the host 106 communicates directly with the primary storage device 104s or the secondary storage device 104b (thereby becoming the new primary storage device), the host system 106 distributes the workload using an “all-or-nothing” approach. That is, the host system 106 will direct all I/O to either one storage device 104a or the other 104b. Although effective, distributing the workload in this manner may not be ideal.
In view of the foregoing, what is needed is an apparatus and method for more evenly distributing the workload between storage devices in a data replication system (such as a PPRC environment). Ideally, such an apparatus and method would increase I/O performance, increase reliability, and provide a more predictable failover scenario. Beneficially, such an apparatus and method would provide continuous data availability and consistency in the event of a failure or disaster. Such a system is disclosed and claimed herein.